77 research outputs found

    Type-Directed Program Synthesis and Constraint Generation for Library Portability

    Get PDF
    Fast numerical libraries have been a cornerstone of scientific computing for decades, but this comes at a price. Programs may be tied to vendor specific software ecosystems resulting in polluted, non-portable code. As we enter an era of heterogeneous computing, there is an explosion in the number of accelerator libraries required to harness specialized hardware. We need a system that allows developers to exploit ever-changing accelerator libraries, without over-specializing their code. As we cannot know the behavior of future libraries ahead of time, this paper develops a scheme that assists developers in matching their code to new libraries, without requiring the source code for these libraries. Furthermore, it can recover equivalent code from programs that use existing libraries and automatically port them to new interfaces. It first uses program synthesis to determine the meaning of a library, then maps the synthesized description into generalized constraints which are used to search the program for replacement opportunities to present to the developer. We applied this approach to existing large applications from the scientific computing and deep learning domains. Using our approach, we show speedups ranging from 1.1×\times to over 10×\times on end to end performance when using accelerator libraries.Comment: Accepted to PACT 201

    Practical synthesis from real-world oracles

    Get PDF
    As software systems become increasingly heterogeneous, the ability of compilers to reason about an entire system has decreased. When components of a system are not implemented as traditional programs, but rather as specialised hardware, optimised architecture-specific libraries, or network services, the compiler is unable to cross these abstraction barriers and analyse the system as a whole. If these components could be modelled or understood as programs, then the compiler would be able to reason about their behaviour without concern for their internal implementation details: a homogeneous view of the entire system would be afforded. However, it is not often the case that such components ever corresponded to an original program. This means that to facilitate this homogenenous analysis, programmatic models of component behaviour must be learned or constructed automatically. Constructing these models is an inductive program synthesis problem, albeit a challenging one that is largely beyond the ability of existing implementations. In order for the problem to be made tractable, information provided by the underlying context (i.e. the real component behaviour to be matched) must be integrated. This thesis presents three program synthesis approaches that integrate contextual information to synthesise programmatic models for real, existing components. The first, Annote, exploits informally-encoded information about a component's interface (e.g. from documentation) by weaving that information into an extended type-and-attribute system for component interfaces. The second, Presyn, learns a pair of cooperating probabilistic models from prior syntheses, that aim to predict likely program structure based on a component's interface. Finally, Haze uses observations of common side-effects of component executions to bias the search for programs. These approaches are each evaluated against comparable synthesisers from the literature, on a set of benchmark problems derived from real components. Learning models for component behaviour is only a partial solution; the compiler must also have some mechanism to use those models for program analysis and transformation. This thesis additionally proposes a novel mechanism for context-sensitive automatic API migration based on synthesised programmatic models, and evaluates the effectiveness of doing so on real application code. In summary, this thesis proposes a new framing for program synthesis problems that target the behaviour of real components, and demonstrates three different potential approaches to synthesis in this spirit. The success of these approaches is evaluated against implementations from the literature, and their results used to drive a novel API migration technique

    The New Political Economy of EU State Aid Policy

    Get PDF
    Despite its importance and singularity, the EU’s state aid policy has attracted less scholarly attention than other elements of EU competition policy. Introducing the themes addressed by the special issue, this article briefly reviews the development of EU policy and highlights why the control of state aid matters. The Commission’s response to the current economic crisis notably in banking and the car industry is a key concern, but the interests of the special issue go far beyond. They include: the role of the European Commission in the development of EU policy, the politics of state aid, and a clash between models of capitalism. The special issue also examines the impact of EU policy. It investigates how EU state aid decisions affect not only industrial policy at the national level (and therefore at the EU level), but the welfare state and territorial relations within federal member states, the external implications of EU action and the strategies pursued by the Commission to limit any potential disadvantage to European firms, and the conflict between the EU’s expanding legal order and national

    Generalized cerebral atrophy seen on MRI in a naturally exposed animal model for creutzfeldt-jakob disease

    Get PDF
    <p>Abstract</p> <p>Background</p> <p>Magnetic resonance imaging has been used in the diagnosis of human prion diseases such as sCJD and vCJD, but patients are scanned only when clinical signs appear, often at the late stage of disease. This study attempts to answer the questions "Could MRI detect prion diseases before clinical symptoms appear?, and if so, with what confidence?"</p> <p>Methods</p> <p>Scrapie, the prion disease of sheep, was chosen for the study because sheep can fit into a human sized MRI scanner (and there were no large animal MRI scanners at the time of this study), and because the USDA had, at the time of the study, a sizeable sample of scrapie exposed sheep, which we were able to use for this purpose. 111 genetically susceptible sheep that were naturally exposed to scrapie were used in this study.</p> <p>Results</p> <p>Our MRI findings revealed no clear, consistent hyperintense or hypointense signal changes in the brain on either clinically affected or asymptomatic positive animals on any sequence. However, in all 37 PrP<sup>Sc </sup>positive sheep (28 asymptomatic and 9 symptomatic), there was a greater ventricle to cerebrum area ratio on MRI compared to 74 PrP<sup>Sc </sup>negative sheep from the scrapie exposed flock and 6 control sheep from certified scrapie free flocks as defined by immunohistochemistry (IHC).</p> <p>Conclusions</p> <p>Our findings indicate that MRI imaging can detect diffuse cerebral atrophy in asymptomatic and symptomatic sheep infected with scrapie. Nine of these 37 positive sheep, including 2 one-year old animals, were PrP<sup>Sc </sup>positive only in lymph tissues but PrP<sup>Sc </sup>negative in the brain. This suggests either 1) that the cerebral atrophy/neuronal loss is not directly related to the accumulation of PrP<sup>Sc </sup>within the brain or 2) that the amount of PrP<sup>Sc </sup>in the brain is below the detectable limits of the utilized immunohistochemistry assay. The significance of these findings remains to be confirmed in human subjects with CJD.</p

    Organization of the cpe Locus in CPE-Positive Clostridium perfringens Type C and D Isolates

    Get PDF
    Clostridium perfringens enterotoxin (encoded by the cpe gene) contributes to several important human, and possibly veterinary, enteric diseases. The current study investigated whether cpe locus organization in type C or D isolates resembles one of the three (one chromosomal and two plasmid-borne) cpe loci commonly found amongst type A isolates. Multiplex PCR assays capable of detecting sequences in those type A cpe loci failed to amplify products from cpe-positive type C and D isolates, indicating these isolates possess different cpe locus arrangements. Therefore, restriction fragments containing the cpe gene were cloned and sequenced from two type C isolates and one type D isolate. The obtained cpe locus sequences were then used to construct an overlapping PCR assay to assess cpe locus diversity amongst other cpe-positive type C and D isolates. All seven surveyed cpe-positive type C isolates had a plasmid-borne cpe locus partially resembling the cpe locus of type A isolates carrying a chromosomal cpe gene. In contrast, all eight type D isolates shared the same plasmid-borne cpe locus, which differed substantially from the cpe locus present in other C. perfringens by containing two copies of an ORF with 67% identity to a transposase gene (COG4644) found in Tn1546, but not previously associated with the cpe gene. These results identify greater diversity amongst cpe locus organization than previously appreciated, providing new insights into cpe locus evolution. Finally, evidence for cpe gene mobilization was found for both type C and D isolates, which could explain their cpe plasmid diversity

    A Novel Small Acid Soluble Protein Variant Is Important for Spore Resistance of Most Clostridium perfringens Food Poisoning Isolates

    Get PDF
    Clostridium perfringens is a major cause of food poisoning (FP) in developed countries. C. perfringens isolates usually induce the gastrointestinal symptoms of this FP by producing an enterotoxin that is encoded by a chromosomal (cpe) gene. Those typical FP strains also produce spores that are extremely resistant to food preservation approaches such as heating and chemical preservatives. This resistance favors their survival and subsequent germination in improperly cooked, prepared, or stored foods. The current study identified a novel α/β-type small acid soluble protein, now named Ssp4, and showed that sporulating cultures of FP isolates producing resistant spores consistently express a variant Ssp4 with an Asp substitution at residue 36. In contrast, Gly was detected at Ssp4 residue 36 in C. perfringens strains producing sensitive spores. Studies with isogenic mutants and complementing strains demonstrated the importance of the Asp 36 Ssp4 variant for the exceptional heat and sodium nitrite resistance of spores made by most FP strains carrying a chromosomal cpe gene. Electrophoretic mobility shift assays and DNA binding studies showed that Ssp4 variants with an Asp at residue 36 bind more efficiently and tightly to DNA than do Ssp4 variants with Gly at residue 36. Besides suggesting one possible mechanistic explanation for the highly resistant spore phenotype of most FP strains carrying a chromosomal cpe gene, these findings may facilitate eventual development of targeted strategies to increase killing of the resistant spores in foods. They also provide the first indication that SASP variants can be important contributors to intra-species (and perhaps inter-species) variations in bacterial spore resistance phenotypes. Finally, Ssp4 may contribute to spore resistance properties throughout the genus Clostridium since ssp4 genes also exist in the genomes of other clostridial species

    Genetic characterization of type A enterotoxigenic Clostridium perfringens strains

    Get PDF
    Clostridium perfringens type A, is both a ubiquitous environmental bacterium and a major cause of human gastrointestinal disease, which usually involves strains producing C. perfringens enterotoxin (CPE). The gene (cpe) encoding this toxin can be carried on the chromosome or a large plasmid. Interestingly, strains carrying cpe on the chromosome and strains carrying cpe on a plasmid often exhibit different biological characteristics, such as resistance properties against heat. In this study, we investigated the genetic properties of C. perfringens by PCR-surveying 21 housekeeping genes and genes on representative plasmids and then confirmed those results by Southern blot assay (SB) of five genes. Furthermore, sequencing analysis of eight housekeeping genes and multilocus sequence typing (MLST) analysis were also performed. Fifty-eight C. perfringens strains were examined, including isolates from: food poisoning cases, human gastrointestinal disease cases, foods in Japan or the USA, or feces of healthy humans. In the PCR survey, eight of eleven housekeeping genes amplified positive reactions in all strains tested. However, by PCR survey and SB assay, one representative virulence gene, pfoA, was not detected in any strains carrying cpe on the chromosome. Genes involved in conjugative transfer of the cpe plasmid were also absent from almost all chromosomal cpe strains. MLST showed that, regardless of their geographic origin, date of isolation, or isolation source, chromosomal cpe isolates, i) assemble into one definitive cluster ii) lack pfoA and iii) lack a plasmid related to the cpe plasmid. Similarly, independent of their origin, strains carrying a cpe plasmid also appear to be related, but are more variable than chromosomal cpe strains, possibly because of the instability of cpe-borne plasmid(s) and/or the conjugative transfer of cpe-plasmid(s) into unrelated C. perfringens strains. © 2009 Deguchi et al
    corecore